package com.specialized.orders.service;

import java.util.List;

import com.specialized.common.core.domain.Result;
import com.specialized.orders.common.domain.Distance;
import com.specialized.orders.common.domain.RealTime;

/**
 * 实时订单Service接口
 *
 * @author djh
 * @date 2024-07-23
 */
public interface IRealTimeService {
    /**
     * 查询实时订单
     *
     * @param realtimeId 实时订单主键
     * @return 实时订单
     */
    public RealTime selectRealTimeByRealtimeId(Long realtimeId);

    /**
     * 查询实时订单列表
     *
     * @param realTime 实时订单
     * @return 实时订单集合
     */
    public List<RealTime> selectRealTimeList(RealTime realTime);

    /**
     * 新增实时订单
     *
     * @param realTime 实时订单
     * @return 结果
     */
    public int insertRealTime(RealTime realTime);

    /**
     * 修改实时订单
     *
     * @param realTime 实时订单
     * @return 结果
     */
    public int updateRealTime(RealTime realTime);

    /**
     * 批量删除实时订单
     *
     * @param realtimeIds 需要删除的实时订单主键集合
     * @return 结果
     */
    public int deleteRealTimeByRealtimeIds(Long[] realtimeIds);

    /**
     * 删除实时订单信息
     *
     * @param realtimeId 实时订单主键
     * @return 结果
     */
    public int deleteRealTimeByRealtimeId(Long realtimeId);


    Result addRealTimeOrders(RealTime realTime);



    Distance computeDistance(String origin, String destination);


//    void addRealTime(RealTime realTime);


    Result addAddrLongitudeLatitude(String addr);


    RealTime selectRealTimeOrderCard(String orderCard);



    Double computeMoneyrule(RealTime realTime);


    void updateOrdersStatusDriver(String orderCard);


    void addRealTimeOrdersss(RealTime realTime);




}
